The present invention relates generally to the field of controlling locomotives and more specifically to the field of controlling a plurality of locomotives so as to optimize an objective function while satisfying constraints on a set of performance parameters.
Freight trains are often hauled by multiple locomotive ensembles (xe2x80x9cconsistsxe2x80x9d) placed together at the front or rear of the train or dispersed among the freight cars. A single crew at the front of the train coordinates all the locomotive throttles and brake commands via a cable called the multiple unit line (xe2x80x9cMU-linexe2x80x9d) that runs among the locomotives. The MU-line can also be implemented virtually using radio links.
For historical reasons, locomotive throttles are typically set up to have discrete settings (xe2x80x9cnotches,xe2x80x9d typically designated xe2x80x9cidlexe2x80x9d and xe2x80x9cN1xe2x80x9d through xe2x80x9cN8xe2x80x9d) corresponding to different levels of pulling power. As locomotive speed varies, on board electronic control circuitry regulates the power production by electric traction motors to be approximately constant at a corresponding level defined for each notch. The locomotive carrying the train driver is designated the xe2x80x9clead locomotivexe2x80x9d; the other locomotives are said to be xe2x80x9ctrailingxe2x80x9d or xe2x80x9cin trail.xe2x80x9d As conventionally coordinated, each locomotive in trail is operated at the same notch set by the train driver for the lead locomotive. As the train driver manipulates the throttle in the lead locomotive, the trailing locomotives conventionally follow in lock step producing a range of horse-power from idle up to the combined rating of the units, track conditions and speed limits permitting.
For each individual locomotive, fuel efficiency, as measured for example in pounds of fuel per horsepower-hour, generally improves with increasing power output. When less than full power is required from the overall consist, therefore, there is an efficiency penalty that results from operating all locomotives at the same low power setting. For example, a typical three locomotive consist operating with all locomotives in N4 produces substantially the same power but consumes more fuel than the same consist operating with one locomotive in N8 and the other two locomotives in idle. Opportunities exist, therefore, to improve overall consist efficiency by allowing the notches to be set independently on each locomotive.
The opportunities described above are addressed, in one embodiment of the present invention, by an apparatus for controlling a plurality of locomotives, the locomotives being responsive to a plurality of discrete actual commands, the apparatus comprising: a combination generator adapted for generating combinations of the discrete actual commands to yield a command combination set; a performance calculator adapted for calculating a performance parameter set from the command combination set; a feasible combination selector adapted for selecting a feasible combination subset of the command combination set as a function of a discrete performance setpoint, a performance tolerance, and the performance parameter set; an objective function calculator adapted for calculating an objective function set from the feasible combination subset; and an optimal command selector adapted for selecting an optimal command combination from the feasible combination subset corresponding to an optimum value of the objective function set.
The present invention is also embodied as a method for controlling a plurality of locomotives, the locomotives being responsive to a plurality of discrete actual commands, the method comprising: generating combinations of the discrete actual commands to yield a command combination set; calculating a performance parameter set from the command combination set; selecting a feasible combination subset of the command combination set as a function of a discrete performance setpoint, a performance tolerance, and the performance parameter set; calculating an objective function set from the feasible combination subset; and selecting an optimal command combination from the feasible combination subset corresponding to an optimum value of the objective function set.